package com.leyou.order.controller;

import com.leyou.order.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

/**
 * 支付回调接口
 */
@RestController  // @Controller + @ResponseBody
public class PayController {

    @Autowired
    private OrderService orderService;

    /**
     * 微信支付回调方法
     *  @ResponseBody的用法:
     *     1）没有导入jackson包的情况下，该注解直接返回响应体内容
     *     2）在导入jackson包的情况下，该注解可以把方法返回值对象转换为json字符串返回
     *     3）在导入xml包的情况下，该注解可以把方法返回值对象转换为xml字符串返回
     *
     *  注意： 在jackson包和xml包同时存在的情况下，默认转换为json，除非在@RequestMapping注解上面添加producers属性指定转换类型。
     */
    @PostMapping(value = "/wx/notify",produces = "application/xml")
    public Map<String,String> wxNotify(@RequestBody Map<String,String> paramsMap){
        orderService.wxNotify(paramsMap);

        //返回正确信息给微信
        Map<String,String>resultMap = new HashMap<>();
        resultMap.put("return_code","SUCCESS");
        resultMap.put("return_msg","OK");
        return resultMap;
    }


}
